package copyengine.ui.display.textFiled
{
    import flash.text.Font;
    import flash.utils.Dictionary;

    public class CETextFontFixManger
    {
        private static var mInstance:CETextFontFixManger;

        public static function get instance():CETextFontFixManger {
            if (mInstance == null) {
                mInstance = new CETextFontFixManger();
            }
            return mInstance;
        }

        private var mNeedMapFontDic:Dictionary;

        public function CETextFontFixManger() {
            mNeedMapFontDic = new Dictionary();

            var allSystemFontArray:Array = Font.enumerateFonts(true)
            for each(var font:Font in allSystemFontArray) {
                if (font.fontName == "微软雅黑") {
                    mNeedMapFontDic["Microsoft YaHei"] = font.fontName;
                }
            }
        }

        /**
         * 中文字体 如 "微软雅黑"  在使用IT进行读取时候 读到的fontName 为 Microsoft YaHei
         * 但是在中文系统中默认注册的字体为 "微软雅黑"
         *
         * 在Win10系统中 这样的映射会导致Starling找不到指定的Font文件 但是在Win7中却没有问题
         *
         * 该函数的目的就是 将Microsoft YaHei 映射为 "微软雅黑"  (前提是系统中有 "微软雅黑")
         *
         * @param _fontName
         * @return
         */
        public function fixFont(_fontName:String):String {return mNeedMapFontDic[_fontName] != null ? mNeedMapFontDic[_fontName] : _fontName;}

    }
}
